COM AT^SMMS test -  Multi Media Message Handling
COM 
COM 
COM 23.11.2004	V1.0	Kleinmann	started - This script is the first version and likely will be improved later on
COM 27.01.2005  V1.1    Kleinmann       modified according to 'New AT commands for X75 mobiles_ - Draft version (25.01.2005)
COM 
COM
COM
COM
COM
COM
COM 
COM
####################################################################################################
# ToDo: State has to be extracted exactly
# state =ExtractParameter(state,,,,) 
# ToDo: Check range of state is as specified (0,1,2)
# ToDo: Sections using MessageIDs have to extract the MMClientPath
# ToDo: Returned responses have to be checked more precise
# ToDo: Use case testing disabled - To enable remove '#' in script where necessary
####################################################################################################

from attglobals import *

####################################################################################################

COM Test command
AT^SMMS=?
WAITFOR (1,'^SMMS:')

####################################################################################################

COM Read command - the MMS command is available
AT^SMMS?
WAITFOR (1,'^SMMS: 0')

COM Read command - the MMS command is locked by this interface
AT^SMMS?
WAITFOR (1,'^SMMS: 1')

COM Read command - the MMS storage is locked by another interface / application and is not available
AT^SMMS?
WAITFOR (1,'^SMMS: 2')

####################################################################################################

COM Initialize MMS handling and lock the MMS storage
AT^SMMS=1
WAIT FOR OK

COM Go to pending state
AT^SMMS=2,1
WAITFOR (1,'^SMMS: ')

COM Query the mobile MMS-client state
AT^SMMS=2,2
WAITFOR (1,'^SMMS: ')

COM Request the mobile MMS-client to resume from pending state
AT^SMMS=2,0
WAITFOR (1,'^SMMS: ')

####################################################################################################

COM Query the data path of mobile MMS client
AT^SMMS=3,0
WAITFOR (1,'^SMMS: ')

COM Query the import path
AT^SMMS=3,1
WAIT FOR OK

COM Query the export path
AT^SMMS=3,2
WAIT FOR OK
WAITFOR (1,'^SMMS: ')

####################################################################################################

COM Initialize the import of a message
AT^SMMS=4,0
WAIT FOR OK

COM Start the import of a message
AT^SMMS=4,1
WAIT FOR OK

COM Stop import
AT^SMMS=4,2
WAIT FOR OK

####################################################################################################

COM Initialize the export of a message
AT^SMMS=5,0
WAITFOR (1,'^SMMS: ')

COM start the export of a message - ID IS REQUIRED
AT^SMMS=5,1,MessageID
WAITFOR (1,'^SMMS: ')

COM Stop export
AT^SMMS=5,2
WAITFOR (1,'^SMMS: ')

####################################################################################################

COM Send MM - ID IS REQUIRED
AT^SMMS=6,MessageID
WAITFOR (1,'^SMMS: ')

####################################################################################################

COM set MMS to unread - ID IS REQUIRED
AT^SMMS=7,0,MessageID
WAITFOR (1,'^SMMS: ')

COM set MMS to read - ID IS REQUIRED
AT^SMMS=7,1,MessageID
WAITFOR (1,'^SMMS: ')

####################################################################################################

COM delete MM from storage  - ID IS REQUIRED
AT^SMMS=8,MessageID
WAITFOR (1,'^SMMS: ')

####################################################################################################

COM End MMS handling
AT^SMMS=0
WAITFOR (1,'^SMMS: ')

####################################################################################################
####################################################################################################
####################################################################################################


#COM Use case: Query the import/export path
#AT^SMMS=1
#WAIT FOR OK
#AT^SMMS=3,0
#MMClientPath=WAITFOR(1,'^SMMS:')
#AT^SMMS=3,1
#WAIT FOR (1,'^SMMS:"')
#AT^SMMS=3,2
#WAIT FOR (1,'^SMMS:"')
#AT^SMMS=0
#WAIT FOR OK

#COM Use case: Read all MMS messages from the phone incl. go and resume from pending state
#AT^SMMS=1
#WAIT FOR OK
#AT^SMMS=2,1
#WAIT FOR OK
#AT^SQWE=3
#WAIT FOR OK
##Further actions in MPM
#AT^SMMS=2,0
#WAIT FOR OK
#AT^SMMS=0
#WAIT FOR OK

#COM Use case: Query the pending state

#AT^SMMS=1
#WAIT FOR OK
#AT^SMMS=2,2
#WAITFOR (1,'^SMMS: 1')
#AT^SMMS=0
#WAIT FOR OK


#COM Use case: Delete a message

# ToDo: Implement more sophisticated MMS creation
#COM First create and save a MMS 

#AT+CMEC=2
#WAIT FOR OK
#AT+CKPD="E"
#WAIT FOR OK
#WAIT 1000
#AT+CKPD="F"
#WAIT FOR OK
#WAIT 1000
#AT+CKPD="F"
#WAIT FOR OK
#WAIT 1000
#AT+CKPD="F"
#WAIT FOR OK
#WAIT 1000
#AT+CKPD="V"
#WAIT FOR OK
#WAIT 1000
#AT+CKPD="F"
#WAIT FOR OK
#WAIT 500
#AT+CKPD="V"
#WAIT FOR OK
#WAIT 1000
#AT+CKPD="###"
#WAIT FOR OK
#WAIT 1000
#AT+CKPD="83377778"
#WAIT FOR OK
#WAIT 3000
#AT+CKPD ="]vvvvvvF"
#WAIT FOR OK
#WAIT 3000
#AT+CKPD="E"
#WAIT FOR OK
#WAIT 1000
#AT+CKPD="E"
#WAIT FOR OK
#WAIT 1000
#AT+CKPD="E"
#WAIT FOR OK
#WAIT 1000
#AT+CKPD="E"
#WAIT FOR OK
#WAIT 1000
#AT+CKPD="E"
#WAIT FOR OK
#WAIT 1000
#AT+CKPD="E"
#WAIT FOR OK

#COM Now delete MMS with ID 1. Maybe ID has to be obtained automatically ...

#AT^SMMS=1
#WAIT FOR OK
#AT^SMMS=8,,MMClientPath
#WAIT FOR OK
#AT^SMMS=0
#WAIT FOR OK

#COM Use case: Create new message and import to phone
#AT^SMMS=1
#WAIT FOR OK
#AT^SMMS=4,0
#WAIT FOR OK
#AT^SQWE=3
#WAIT FOR OK
#AT^SMMS=4,1
#WAIT FOR OK
#AT^SMMS=4,2
#WAIT FOR OK
#AT^SMMS=0
#WAIT FOR OK

#COM Use case: Create new message, import and send it
#AT^SMMS=1
#WAIT FOR OK
#AT^SMMS=4,0
#WAIT FOR OK
#AT^SQWE=3
#WAIT FOR OK
#AT^SMMS=4,1
#WAIT FOR OK
#AT^SMMS=4,2
#WAIT FOR OK
#AT^SMMS=6,,MMClientPath
#WAIT FOR OK
#AT^SMMS=0
#WAIT FOR OK

#COM Use case: Read a single message (export message)
#COM get Export path first
#AT^SMMS^=3,2
#expPath=WAITFOR (1,'^SMMS:')
#AT^SMMS=1
#WAIT FOR OK
#AT^SMMS=5,0
#WAIT FOR OK
#AT^SMMS=5,1,expPath
#WAIT FOR OK
#AT^SQWE=3
#WAIT FOR OK
#AT^SMMS=5,2
#WAIT FOR OK
#AT^SMMS=0
#WAIT FOR OK

#COM Send a message that is already stored in phone
#AT^SMMS=1
#WAIT FOR OK
#AT^SMMS=6,expPath
#WAIT FOR OK
#AT^SMMS=0
#WAIT FOR OK


